/*
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * HarmonyOS 系统 window 旋转属性
 */
export enum HarmonyOrientation {
  /**
   * Default value. The direction mode is not clearly defined. It is determined by the system.
   */
  UNSPECIFIED = 0,
  /**
   * Display in portrait orientation.
   */
  PORTRAIT = 1,
  /**
   * Display in landscape orientation.
   */
  LANDSCAPE = 2,
  /**
   * Display in inverted portrait orientation.
   */
  PORTRAIT_INVERTED = 3,
  /**
   * Display in inverted landscape orientation.
   */
  LANDSCAPE_INVERTED = 4,
  /**
   * Follow the rotation of the sensor, ignore auto rotation lock.
   */
  AUTO_ROTATION = 5,
  /**
   * Follow the rotation of the sensor, only work in the vertical direction, ignore auto rotation lock.
   */
  AUTO_ROTATION_PORTRAIT = 6,
  /**
   * Follow the rotation of the sensor, only work in the horizontal direction, ignore auto rotation lock.
   */
  AUTO_ROTATION_LANDSCAPE = 7,
  /**
   * Follow the rotation of the sensor, controlled by auto rotation lock.
   */
  AUTO_ROTATION_RESTRICTED = 8,
  /**
   * Follow the rotation of the sensor, only work in the vertical direction, controlled by auto rotation lock.
   */
  AUTO_ROTATION_PORTRAIT_RESTRICTED = 9,
  /**
   * Follow the rotation of the sensor, only work in the horizontal direction, controlled by auto rotation lock.
   */
  AUTO_ROTATION_LANDSCAPE_RESTRICTED = 10,
  /**
   * Locked mode, keep the same direction as previous one.
   */
  LOCKED = 11,
  /**
   * Follow the rotation of the sensor, determined by the system, controlled by auto rotation lock.
   */
  AUTO_ROTATION_UNSPECIFIED = 12,
  /**
   * Display in portrait orientation, and then, follow the rotation of the sensor, determined by the system, controlled by auto rotation lock.
   */
  USER_ROTATION_PORTRAIT = 13,
  /**
   * Display in landscape orientation, and then, follow the rotation of the sensor, determined by the system, controlled by auto rotation lock.
   */
  USER_ROTATION_LANDSCAPE = 14,
  /**
   * Display in inverted portrait orientation, and then, follow the rotation of the sensor, determined by the system, controlled by auto rotation lock.
   */
  USER_ROTATION_PORTRAIT_INVERTED = 15,
  /**
   * Display in inverted landscape orientation, and then, follow the rotation of the sensor, determined by the system, controlled by auto rotation lock.
   */
  USER_ROTATION_LANDSCAPE_INVERTED = 16,
  /**
   * Follow the desktop rotate mode.
   */
  FOLLOW_DESKTOP = 17
}